package it.uniroma3.dia.digraph.view.interpolation;

import it.uniroma3.dia.digraph.view.DrawingPanel;

import org.graphdrawing.graphml.xmlns.GraphType;

/**
 * An interpolator fits the path walked by the nodes of a graph
 * @author BarycentricCoords
 *
 */
public interface Interpolator {

	/**
	 * @param dest the graph representing the target
	 */
	public void interpolate(GraphType dest);
	
	public void setDrawingPanel(DrawingPanel panel);
	public DrawingPanel getDrawingPanel();
	
	/**
	 * @return the frame number of the interpolation
	 */
	public int getFrameNumber();
	
	/**
	 * @param number the frame number to set
	 */
	public void setFrameNumber(int number);
	
	/**
	 * @param millis the duration of the animation, in milliseconds
	 */
	public void setAnimationDuration(long millis);
	/**
	 * @return the duration of the animation, in milliseconds
	 */
	public long getAnimationDuration();

	

}